import time

from common.base import Base


class LoginPage(Base):
    """
    定义页面登录类
    """

    def input_username(self, locator, user_name):
        """
        定义用户名输入方法
        """
        # 调用Base类中的方法,定位用户名输入框,输入用户名
        self.find_element(locator).send_keys(user_name)

    def input_password(self, locator, pwd):
        """
        定义密码输入方法
        """
        # 调用Base类中的方法,定位密码输入框,输入用户名
        self.find_element(locator).send_keys(pwd)

    def remember(self, locator):
        """
        保存登录信息(记住密码)
        """
        # 调用Base类中的方法,定位勾选框,点击
        self.click(locator)

    def btn_login(self, locator):
        """
        点击登录按钮
        """
        # 调用Base类中的方法,定位登录按钮,点击
        self.click(locator)

    def forget(self, locator):
        """
        点击忘记密码(找回密码)
        """
        # 调用Base类中的方法,定位忘记密码,点击
        self.click(locator)

    def register(self, locator):
        """
        点击立即注册按钮
        """
        # 调用Base类中的方法,定位立即注册,点击
        self.click(locator)


if __name__ == '__main__':
    # 创建登录类的实例,设置driver对象
    login = LoginPage('chrome')
    # 调用Base类的方法,提交网址
    login.get('https://ecshop.test2.shopex123.com/user.php')
    # 调用用户名输入方法,传入定位,用户名
    login.input_username(('name', 'username'), 'zhang')
    # 调用密码输入方法,传入定位,密码
    login.input_password(('name', 'password'), '123456')
    # 调用记住密码方法,传入定位
    login.remember(('id', 'remember'))
    # 调用点击登录按钮方法,传入定位
    login.btn_login(('class name', 'loginbtn'))

    time.sleep(2)
    # 调用退出浏览器方法
    login.quit()
